Skip to content

Harden gossip peer conformance checks - #7

Merged
defcron merged 3 commits into
mainfrom
binda-insecure-demo-flag
Sep 19, 2026
Merged

defcron merged 3 commits into
mainfrom
binda-insecure-demo-flag

Conversation

@defcron

@defcron defcron commented Sep 19, 2026

Copy link
Copy Markdown
Member

Summary

  • extend gossip conformance beyond collision-answer correctness
  • reject duplicate digest/request/rumor domains
  • reject correctly-challenged responses containing unrequested or duplicate rumors
  • add unit and real-UDP regression coverage and document the contract

Validation

  • cargo test --workspace -- --test-threads=1 (184 passed)
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo doc --workspace --no-deps
  • cargo llvm-cov --workspace --summary-only -- --test-threads=1 (98.37% regions, 99.01% lines, 99.52% functions)
  • git diff --check

The default parallel UDP test run has an existing timing-sensitive WouldBlock failure in probe_via_client_api_socket_returns_ack; the same test and the complete suite pass serially.

Validate the full gossip request/response contract in addition to the collision challenge: reject duplicate domains and rumors outside the requested set before adopting peer state. Add unit and real-UDP regression coverage and document the expanded boundary.

AI collaborator: GPT-5
@codecov

codecov Bot commented Sep 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Give the request-scoping gossip integration test its own port pair so it cannot race the existing client API probe test when the workspace tests run in parallel.\n\nAI collaborator: GPT-5
Exercise duplicate and unsolicited gossip rejection, short malformed DNS input, and pending challenge eviction at capacity. These tests raise node.rs coverage without excluding reachable code or weakening the coverage gate.\n\nAI collaborator: GPT-5
@defcron
defcron merged commit 9cce02a into main Sep 19, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants